#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "def.h"
#include "nrio.h"
#include "nrarith.h"
#include "nralloc.h"


int main(void)
{
	long nrh,nrl,nch,ncl;
	byte **I;
	int histo[255];
	int i,j;
	int buffer, valmax=0;
	for(i=0;i<255;i++)
		histo[i]=0;

	printf("Ouverture de rice.pgm\n");
	I=LoadPGM_bmatrix("rice.pgm",&nrl,&nrh,&ncl,&nch);

	for(i=ncl+1;i<nch;i++)
	{
		for(j=nrl+1;j<nrh;j++)
		{
			histo[I[i][j]] += 1;
			if(histo[I[i][j]] > valmax) valmax = histo[I[i][j]];
		}
	}

	printf("valmax = %d.\nHistogramme... ", valmax);
	for(i=0; i<255; i++)
		printf("%d ", histo[i]);
		
	for(i=0; i<255; i++)
		histo[i]=(histo[i]*255)/valmax;

	printf("\n\nHistogramme retouché... ", valmax);
	for(i=0; i<255; i++)
		printf("%d ", histo[i]);

	FILE *f=fopen("Histo_rice.txt", "w+");
	
	if (f != NULL)
   {
   	for(i=0; i<255; i++)
		fprintf(f, "%d\n", histo[i]);
		fclose(f); 
   }
   else	printf("Impossible d'ouvrir Histo.txt");

	free_bmatrix(I,nrl,nrh,ncl,nch);
	printf("\nI libérée. \n");		

	return 1;
}
